"""
用户相关数据接口地址

"""

from django.contrib import admin
from django.urls import path
from rest_framework_simplejwt.views import TokenObtainPairView
from users import views
from rest_framework_simplejwt.views import TokenRefreshView, TokenVerifyView

urlpatterns = [
    path('login/', views.LoginView.as_view()),  # 登录
    path('register/', views.RegisterView.as_view()),  # 注册
    path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),  # 刷新token
    path('token/verify/', TokenVerifyView.as_view()),  # 校验token

    # 获取单个信息的路由
    path('users/<int:pk>/', views.UserView.as_view(actions={'get': 'retrieve'})),  # 注册
    # path('users/<int:pk>/', views.UserView.as_view({'get': 'get'})),  # 注册

    # 上传用户头像的接口
    path('<int:pk>/avatar/upload/', views.UserView.as_view({
        'post': 'upload_avatar'
    })),

    # 地址相关的url
    path('address/', views.AddrView.as_view({
        'post': 'create',  # 添加
        'get': 'list',  # 查看全部地址列表
    })),
    path('address/<int:pk>/', views.AddrView.as_view({
        'put': 'update',  # 更新【修改
        'delete': 'destroy',  # 删除
    })),
    # 设置默认收货地址
    path('address/<int:pk>/default/', views.AddrView.as_view({
        'put': 'set_default_addr',
    })),

    # 获取省市区县数据查询接口
    path('city/', views.CityView.as_view({
        'get': 'list'
    })),

    # 发送短信验证码
    path('sendsms/', views.SendSmView.as_view()),
    # 绑定手机号
    path('<int:pk>/mobile/bind/', views.UserView.as_view({
        'put': 'bind_mobile'
    })),
    # 解绑手机号
    path('<int:pk>/mobile/unbind/', views.UserView.as_view({
        'put': 'unbind_mobile'
    })),
    # 修改用户名
    path('<int:pk>/name/', views.UserView.as_view({
        'put': 'update_name'
    })),
    # 修改邮箱
    path('<int:pk>/email/', views.UserView.as_view({
        'put': 'update_email'
    })),
    # 修改密码
    path('<int:pk>/password/', views.UserView.as_view({
        'put': 'update_password'
    })),
]
